home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 001-025 / scopedisk1 / commtut / gttutor2.txt < prev    next >
Text File  |  1995-03-18  |  25KB  |  384 lines

  1. *****************************************************************
  2.  Following  is a second conversational 'chat' between James  Davis  and 
  3. Raymond Wood designed as a follow-up of the first  one.   It  takes  on the
  4. form of a tutorial again due to the high number  of  requests for same
  5. following the first one we released.
  6. *****************************************************************  
  7.  
  8. D:  Shall we start this off with a kind of outline as to where  I  think  we 
  9. will  go  with it?   We  discussed  many  fundamentals  involved  with
  10. communications in the first tutorial and ended  up  discussing  several of the
  11. more popular file transfer  protocols.   This  session  will  go farther into
  12. the area  of  file  transfer  protocols, technology such as the 9600 bit per
  13. second modems  and  error  correcting modems with MNP or ARQ, and how one goes 
  14. about  intelligently selecting a protocol given a basic understanding of 
  15. their  environment.  For example, while Ymodem was  described  as  the 'King
  16. of the hill' when it comes to performance, that is  not  true  if you are
  17. using one of the packet switching networks.   It  is also not true at 9600
  18. bits per second.  
  19.  
  20. W:   You  mentioned 9600 and MNP.  I thought that  there  was  no  industry
  21. standard  for 9600 and that it is only practical if  the  other  end is
  22. talking the same language with the  same  hardware?   Also   that   MNP  was 
  23. implemented  in  the  hardware   of   the  modem...where am I wrong ?  
  24.  
  25. D:   You're  not wrong.  GT PowerComm (12.20) now  supports  9600  baud.  I
  26. believe the newest version of Qmodem (3.0) does as well.  
  27.  
  28. Paul  Meiners,  the  author of GT  PowerComm,  has  a  USRobotics  HST9600
  29. baud modem and he is using it every day.  I, too, have  a  USR  HST9600 as
  30. well as a Microcom MNP modem that I  am  testing.   There are two quite
  31. different error correction methods in use  at  this   time.   MNP  (Microcom 
  32. Networking  Protocol)  which   was  developed by Microcom and ARQ (a general
  33. term used by USR to mean  Automatic  Retry  Request protocols - theirs  being 
  34. specifically  called USR-HST [High Speed Technology]) and these two methods
  35. are  totally  incompatible.   Even the methods used to  modulate  9600  baud 
  36. signals  appears  to be  incompatible.   However,  we  have  successfully 
  37. connected these two different brands of  modems  in  'reliability' mode.  The
  38. USR has the ability to 'fallback' to MNP  at  1200 or 2400 baud where MNP has
  39. established a standard.   (Of  course, that makes sense for our PCP users).  
  40.  
  41.  We  have  also connected with other USR HST9600 modems  and  seen  that  we 
  42. have outstanding performance at 9600  baud.   (We  have  cruised  along at
  43. about 945 cps during transfers of more  than  3  million  bytes  so far). 
  44. Further, GT is such an  efficient  comm  program that we are able to drive
  45. these modems at 19,200 bits per  second from the systems while the modem is
  46. communicating at  9600  to  another modem - for additional performance.  It is 
  47. for  this  very  reason  that  we had to implement flow  control  -  so  the 
  48. transmitting modem does not overrun.  I will discuss this in more  detail a
  49. little later in this tutorial.  
  50.  
  51. So, while you are correct that there is no standard at 9600 baud,  that  does 
  52. not  mean  that  9600  baud  modems  are  necessarily  impractical.  We are determining to what extent it is a  problem.   What  concerns me the most is
  53. the different  modulation  methods.   Nevertheless, it will not stop our 
  54. support  of 9600 baud.  Finally, you are right again, MNP (ARQ) is a hardware
  55. function  -  but it can and should be a transparent one.  I note, for example, 
  56. that  since  I began testing these modems I have  connected  with  several 
  57. (many)  others and, as a result,totally  eliminated  the  line  noise  that
  58. was present prior to the MNP connection  -  ie,  there  appears  to  be  more
  59. to MNP than  just  error  free  file  transfers.  Thus, we must look at it. 
  60. And, in doing so, we  will  test  the various non-error checking protocols
  61. that are  used  in  such  environments  (Ymodem-G,  for example).  It is  as 
  62. much  a  learning  curve  for  us as for the users - we just  MUST  do  it 
  63. behind the scenes for credibility sake.  
  64.  
  65. W:   I  understand the necessity to stay  up  with  technological  advances
  66. affecting your your product.  What I am not to clear  on  is exactly what is
  67. MNP or ARQ and why have they come about.   Can  you shed some light on this?  
  68.  
  69.  
  70. D:  Since 2400 baud modems are NOT really 2400 'baud' - they  are  2400 bits
  71. per second,  1200 baud modems - it has been clear  that  the limit of reliable
  72. communications in terms of speed using  the  bandwidth  of  the  existing
  73. telephone  circuitry  has  not  been  reached.  However, it is also clear that
  74. as we more densely  pack  information  within  that  bandwidth  the  incidence 
  75. of   errors  increases.    The  manufacturers  investigated,   starting   with 
  76. Microcom, various error detection and recovery methods that  were  hardware 
  77. assisted.   That  was the the birth  of  MNP  (Microcom  Networking 
  78. Protocol).   There  has been  an  evolution  in  that  technology  which 
  79. results in several 'levels' of  MNP  available  today.  The higher the level,
  80. the more function is included.   At  any level, MNP merely insures that the
  81. data received by the modem  is what was sent by the sending modem.  That is
  82. INSUFFICIENT,  in  my  opinion.   The  only  valid scenario  is  one  in 
  83. which  the  receiving  COMPUTER is insured that it received  accurately  what 
  84. the  sending COMPUTER sent.  There are cables,  ports,  circuits,  timings, 
  85. etc.  that MNP DOES NOT CHECK.  Thus, it seems  that  a  combination   of 
  86. software  and  hardware  error  detection   and  correction methods is
  87. necessary.  
  88.  
  89. Almost  all  file  transfer protocols check  what  I  believe  is  necessary 
  90. - computer to computer accuracy.  What, then,  is  the  advantage  of  MNP?  
  91. Well, to begin with,   it  SHOULD  be  more  efficient.   If  the software
  92. need only be  concerned  with  data  bytes  and  not CRC and other control
  93. bytes, then  it  should  be  faster.  Further, the newer levels of MNP are
  94. more efficient than  you  might  have guessed.  They strip off the start bit 
  95. and  the  stop  bits  from  each  byte, for  example,  and  that  increases 
  96. transfer  performance  by 20% (8 bits per byte rather  than  10).   Further, 
  97. they  send 'compressed' data  via  internal  algorithms  which increases
  98. performance even more.   On the other side of the  ledger,  MNP and ARQ
  99. technology has some built  in  disadvantages  from a performance point of
  100. view, they are, after all, no  longer  just high speed pipes but are now full
  101. computers (usually  Z80's)  and  are  prone  to  modest  slowdowns  at  the 
  102. higher   speeds.   Nevertheless, at 9600 'baud' it is possible to obtain about  1100  cps  rather than 960 and at 2400 'baud' it is possible to  obtain 
  103. upwards of 290 cps rather than 240.  
  104.  
  105. Not to forget, as I mentioned earlier, MNP is active at all times  while 
  106. protocol  transfers are active only during  a  transfer  -  thus,  line noise
  107. is effectively filtered out even while  we  are  chatting.   There  are 
  108. several possible advantages,  and  a  few  disadvantages - not the least of
  109. which is the lack of standards.   
  110.  
  111. W:  Jim,  I understand what you just said and from that it  would  seem  that 
  112. MNP is needed at both ends to do the  job.   Is  that  correct?  Also is MNP
  113. proprietary for just Microcom modems?  
  114.  
  115. D:   It  is obviously true that MNP (or ARQ) must exist  on  both  ends  to be
  116. functional.  When my Microcom modem connects  with  a  non-MNP  modem  it
  117. recognizes that fact and reverts  to  being  a  standard  Hayes  compatible 
  118. modem.  Further, when  the  USR  HST  connects  with  a Microcom that has MNP,
  119. there is a  fallback  in  baud  rates  to  2400  baud  in both  modems  so 
  120. that  they  can  communicate  using MNP.  That is likely to be overridden  by 
  121. the  users, however, via disabling MNP or ARQ in such situations.  (My 
  122. opinion only).  However, it is reasonably certain that 9600  baud  connections
  123. cannot be established without error correction  being  functional.  Further,
  124. while Microcom  MNP is wider used than  ARQ  (USR's  method), the USR method
  125. of supporting both (at  different  baud rates) is more flexible and argues for
  126. USR.  It may be  that  we obtained the wrong 9600 baud modems at this time. 
  127. It is  part  of the testing and learning process.  
  128.  
  129. As  to  the proprietary nature of MNP, according  to  USRobotics,  Microcom 
  130. has placed at least the first three levels of MNP  into  the public domain. 
  131. It is certain that they have been generous in  licensing out at least the
  132. lower 'levels' to other manufacturers.   What alternative do they have? 
  133. Unless a standard evolves,  these  are contests that damage the future, not
  134. advances it.  
  135.  
  136. W:   It  seems  obvious that standards in this area  are  to  the  advantage 
  137. of all concerned.  Is there a  standards  organization  looking into this?  I
  138. would like to have 9600 baud capability and  error   free  transmission.  
  139. However,  I  would  also  like   to  communicate with whomever without having
  140. to worry about whats  at  the other end.  Do you see what I am concerned
  141. about?  
  142.  
  143. D:   Of course.  It is a paraphrase of my earlier discussion.   I  think  the 
  144. only 'standards organization' that  is  effective  is  called   the  
  145. marketplace.   The  huge  power   of   the   Hayes  organization, because of
  146. its modem standard, is likely to be  the  telling blow to other manufacturers
  147. - when they finally put there  own  9600  baud technology - may well become 
  148. the  new  standard.   Because  of this I believe it is premature to buy 'long'
  149. in  such  security issues as USRobotics and Microcom.   
  150.  
  151. W:  Whenever I talk to the Hayes people at a convention or  trade  show, they
  152. know or say nothing about 9600 development.  I do  not  know  if this is just
  153. policy or not.  I think that when  they  do  introduce  9600 that it would not necessarily mean that  whatever  they  do will be the standard.  I may be
  154. naive, but I would  like  to believe that will be the case.  I say this only
  155. because others  are  active in meeting a need and they are not or appear  not 
  156. to  be.  
  157.  
  158. D:  No argument there.  My point remains valid only if Hayes does  something
  159. in the near term.  Intel saw what happens when they get  over  confident and
  160. let competition pass them by when they  first  put the 8080 micro-computer
  161. chip into the marketplace.  They  had  it  made, save only that the Z80 took
  162. it ALL away from them.   It  was  an awfully long time before they we were
  163. able to  come  back  and Motorola nearly did it to them again.  So, while
  164. Hayes has by  far  the  largest  visible shelf space in  the  industry  at 
  165. the  moment,  USR (my guess) or Microcom could steal it away from lack  of
  166. responsive attention on their part.   
  167.  
  168. W:   It would seem that you need compatible hardware  above  2400  baud  and 
  169. compatible software as well for  truly  effective  and  increased performance. 
  170. Does Paul Meiners' Megalink protocol  tie  into this somehow?  
  171.  
  172. D:   Megalink  is an extremely  efficient  protocol  particularly  designed 
  173. for  the network environments like PCP and  the  higher  baud  rates.   It  is
  174. 'network friendly',  which  means  that  it  recognizes  and honors flow
  175. control imposed by the network.   For  efficiency  it  uses 512 byte packets
  176. (4 blocks), it  is  a  full  streaming  protocol,  which means it does not
  177. ever  stop  sending  unless  it receives a NAK saying a packet was received in 
  178. error,  and it is batch oriented.  It uses block 0 header information, as  do
  179. all the '...link' protocols so that the resulting file is  the  same size and
  180. properly time and date stamped, and it uses 32  bit  CRC rather rather than
  181. 16.   
  182.  
  183. I  think  it is time to go back to the earlier tutorial  and  add  some more
  184. concepts at this time.  
  185.  
  186. Since our last discussion there has been increased popularity  in  two
  187. relatively new file protocols.  The first of these is  called  SEAlink and the
  188. second is Zmodem.  You will recall in the earlier  discussion  that
  189. 'windowing' techniques are beginning  to  become  available  in  the  file 
  190. transfer protocols.   There  is  now  a  Windowing  Kermit,  for  example,  as 
  191. well  as  WXmodem.   These  programs  attempt  to obtain better performance by 
  192. avoiding  the  start-stop approach used by earlier protocols where after
  193. sending  a  packet  of  data the transmitter would stop and  wait  for  an 
  194. Acknowledgment that the packet had been properly received  before  sending 
  195. the  next  one.  Windowing  protocols  assume  that  the  packets are being
  196. received without error and do not wait  between  packets.   The  receiving
  197. systems DO send ACK signals,  its  just  that  the transmitter is not waiting
  198. for them.  Assuming  all  is  well, time has been saved as a result.  When an
  199. error does occur,  a  NAK  is returned to the transmitter and associated  with 
  200. that  signal  is  the packet number that was in  error.   Assuming  the 
  201. transmitter  still  has  that packet at its  disposal  it  merely  retransmits
  202. it and proceeds.   
  203.  
  204. That is the limit, of course.  In order to be able to  retransmit  a  packet
  205. it must still be in the transmit buffer and the  buffer  has  a  finite 
  206. length.  All windowing protocols  set  a  maximum  'window  size'.   This
  207. means that there can be no more  than  'x'  packets sent without a reply
  208. before the transmitter is forced  to  wait for that reply else error recovery
  209. would not work.  This  is  no  big  deal at 1200 baud, but at 2400 and above 
  210. it  is  really  quite limiting.   
  211.  
  212. SEAlink  is a windowing protocol.  It has as an  added  advantage  over
  213. WXmodem, for example, two very important features:  it  uses  32 bit CRC for
  214. reliability, and it is 'network friendly'.  The 32  bit CRC (4 byte CRC per
  215. packet) makes undetected errors virtually  impossible.  The benefit gained in
  216. reliability is at the  expense  of  having twice as much CRC overhead,
  217. however.  Thus,  all  else  being equal, it would be a little slower than
  218. WXmodem.  All  else  is  not equal.  Performance of SEAlink is not noticably 
  219. degraded  because  of  32-bit CRC though it is  substantially  affected  by 
  220. being Network-friendly.  Further, SEAlink uses a window size of 6  rather than
  221. the 4 used by WXmodem.   
  222.  
  223. What  is 'network-friendly'?  It is a design that recognizes  and  honors 
  224. XON/XOFF  signals that are placed on a  packet  switching  network when that
  225. network (like PC Pursuit) becomes so busy  that  it is nearly choking on data. 
  226. When the network places an XOFF on  the line, a network-friendly recognizes it
  227. for what it is  rather  than  a coincidental configuration of bits in a byte
  228. of data  and  stops  sending data!  It stops until it receives an XON from 
  229. the  network.  Why is that important?  Well, it is my experience  that  a 
  230. huge  number  of subscribers now exists for  PCP.   Forcing  a  network to
  231. exceed its ability to handle data could only crash the  network.   PCP would
  232. not allow that.  They have intelligent  node  controllers  that selectively
  233. will abort a 'hog' link  that  does  not  honor  its earlier 'request' to wait
  234. a  little  (via  XOFF).   Thus,  using  a  protocol that is not 
  235. network-friendly  is  like  saying: "I don't care if I am a hog.  And, if you
  236. don't like  it,  then abort me."  As usage continues to increase, the network
  237. will  oblige that attitude.   
  238.  
  239. The  result  of being network-friendly is two fold  in  terms  of  'hits' 
  240. against  performance: 1) while you are  waiting  for  the  network to send you
  241. an XON you are not sending data and 2)  there  are  MANY extra bytes of
  242. control information that  definitionally  must be sent along with your data.  
  243.  
  244.  
  245. Let  me  explain that last point as it is not  obvious,  I  know.   XOFF  and
  246. XON are simply bytes, just like the letter 'A'  or  the  digit  '4'.  If no
  247. data file contained those bytes then it  would  be  easy  to  implement  a 
  248. network-friendly  protocol.   Recall,  however, that it is almost always true
  249. that data is sent in  some  form  of archive or compressed format.  The
  250. resulting  bytes  can  have  ANY  configuration  despite what  the 
  251. un-archived  or  un- compressed  file  looks  like.   In other  words,  the 
  252. odds  are  essentially  100%  that the data files that you send  consist  of 
  253. probably  many bytes that look like XOFF or XON.  That cannot  be  allowed  to 
  254. happen.   The  protocol finds  all  such  bytes  and  encapsulates  them  in 
  255. what is called an  escape  sequence  that  consists  of a special byte (usually the DLE character)  followed  by a 'folded' duplicate of the byte
  256. that needed to be camouflaged  (the  XON  or  XOFF).   Folding merely means 
  257. that  the  byte  is  transmogrified  in  some  way  (usually  via  being  sent 
  258. as   a  compliment  -  XORed with all 1's).  Further, the  DLE  character 
  259. itself must also be escape sequenced for this method to work.  It  is a random
  260. process that results in indeterminate performance for  any particular file. 
  261. That is, if a file had none of these  three  special  byte  combinations in
  262. it, then the time to  transmit  it  would be minimal where a file that
  263. happened to have many of  them  will  have  that  many  more bytes to send  in 
  264. order  to  escape  sequence  it.   In  such a case the file  would  take 
  265. longer  to  transmit than the first.  Same protocol, different performance.   
  266.  
  267.  On  balance, the designers of SEAlink did an excellent job.   The 
  268. performance  of SEAlink is essentially as good as WXmodem yet  it  is more
  269. reliable and it is network-friendly.  Incidentally,  they  also escape
  270. sequenced a fourth byte - the SYN.  It is for  rather  obscure reasons and I
  271. believe a mistake.  Why is SEAlink becoming  so  popular?   Because  it is a
  272. protocol supported  under  a  BBS  system  called  OPUS which is quickly
  273. replacing most of  the  old  FIDO systems all over the country.  It is a good
  274. protocol.   
  275.  
  276. The next one of interest is called Zmodem.  This is almost always  found  as
  277. an external protocol.  That means it is included  in  a  file  (DSZ.EXE)  that 
  278. is  shelled to by  the  host  or  terminal  communications program when it is
  279. needed.  As such, it requires a  lot of memory compared to the internal
  280. protocols.  But because of  that,  it is easy to install as a protocol
  281. offering of  many  BBS  systems.   There  is  another  and  more  significant 
  282. difference  between Zmodem and the other protocols we have already  discussed 
  283. so  far.  Instead of being start-stop in nature, and  instead  of  being 
  284. windowing,  it  is  a  streaming  protocol.   A  streaming  protocol  does 
  285. not expect to get ANY ACK signals back  from  the  receiver  until the
  286. transfer is complete and successful.   If  an  error  occurs  it  will 
  287. receive  a NAK  and  it  is  up  to  the  transmitter to insure that it can
  288. recover from any NAK  received.   Thus,  because  it  is not a windowed 
  289. protocol  it  never  stops  transmitting  unless there is an error.  That
  290. means it should  be  faster than even the windowing protocols.   
  291.  
  292.  Unfortunately,  while Zmodem uses 32-bit CRC for reliability,  it  is  NOT 
  293. network-friendly.   In some ways it is  not  even  user- friendly.  For
  294. example, in every other protocol there is a way to  terminate  the transfer
  295. should you wish to do so while it  is  in  progress.   The usual manner is to
  296. press Cntl-X one or two  times  and  wait  till the other end recognizes the 
  297. abort  request  and  finally stops.  In the case of Zmodem you must press 10!
  298. times in  a row to stop it.  I suggest that not 1 user in a thousand  knows 
  299. that.  It is a popular protocol as a result of its performance on  the  packet 
  300. switching  networks.  Because  it  is  not  network- friendly  it  does not
  301. bother with (it doesn't  have  to)  escape  coding anything.  That is probably
  302. a fatal mistake to its  future  particularly as the networks get crowded.   
  303.  
  304.  Included  in  GT  PowerComm 12.20 is  the  newest  file  transfer  protocol. 
  305.  It  is called MegaLink.  It uses 32-bit  CRC,  it  is  network-friendly, is
  306. faster than Sealink, and like all the 'link'  named  protocols  it uses a header record that results  in  exact  size and proper time and date stamping
  307. of the resulting file when  received.   Most  interesting  about  MegaLink  is 
  308. how  well  it  performs  at  the very highest baud rates.   Running 
  309. comparative  tests of four different protocols, all sending the same 880K file 
  310. to  the same machine and at 9600 baud, I obtained  the  following  results:   
  311.   WXmodem   60.4 % efficiency  580 cps     SEAlink   75.6 %             725
  312. cps     Ymodem    77.6 %             744 cps     Zmodem         unsuccessful* 
  313.    MegaLink  98.5 %             945 cps  
  314.  
  315. In order, WXmodem did so poorly for two reasons: at 9600 baud its  window
  316. limit of 4 is the same as not having a windowing technique  at  all.   Second, 
  317. there are ACK signals coming  back  for  each  packet  sent.  In the 9600 baud
  318. arena, the transmission  is  only  9600 baud in one direction and only 300
  319. baud in the other!  It is  transparent,   more  or  less,  to  the  users  as 
  320.  the   modems  automatically change which direction is at 9600 baud based on
  321. the  volume of data that needs to be sent in each direction at any one  time. 
  322.  Further, while one character (the ACK itself at 300  baud  is  not
  323. significant, the ACK/NAK response is actually either  two  or  three  bytes 
  324. rather  than one  as  you  might  expect.   The  additional byte(s) is for
  325. packet number (and it's compliment).  
  326.  
  327. SEAlink is being driven about as fast as it can go.  It is not as  fast as
  328. Ymodem because of the small window it uses (like WXmodem)  and because it has
  329. so many more characters to transmit because it  is network-friendly (escape
  330. sequences).  
  331.  
  332. Ymodem  is  going as fast as it can.  It  is  effected  primarily  because  of 
  333. the start-stop nature of its function and  the  fact  that  the  ACK/NAKs  are
  334. coming back at 300 baud.   Here  we  see  clearly  an indication that the days
  335. of the start-stop  protocols  are numbered.  
  336.  
  337. As an aside, Ymodem-G would have performed MUCH better because it  has  no 
  338. error  control  whatever, thus it  has  fewer  bytes  to  transmit and no
  339. turnaround delays.  Remember, however, that error  correcting modems are only
  340. capable of insuring that the data sent  from  one  modem is received reliably
  341. by the other.  As  will  be  seen  in  the  discussion later  about  Zmodem's 
  342. total  failure,  Ymodem-G would not have reliably worked in this test.  
  343.  
  344. It  is  interesting that Zmodem failed altogether at  9600  baud.   The 
  345. reason is a little subtle and it leads to the next  thing  I  wanted to
  346. discuss anyway.   
  347.  
  348. I earlier mentioned that the MNP and ARQ modems are able to strip  the  start 
  349. and  stop bits from bytes, (they must,  thus,  be  in  synchronous  mode
  350. rather than asynchronous), and that  they  also  may  use  a  form  of
  351. compression  beyond  that  for  performance  reasons.   I  further stated that
  352. at 9600 baud the  modem  I  was  using was able to perform at 1100 cps rather
  353. than 960.  This  may  have  caused  you  to  ponder: if the modem  is  connect 
  354. to  the  computer  at 9600 baud that means the computer can only send  960 
  355. characters  per second to the modem for subsequent  transmission.   So how can
  356. the modem send it any faster than it receives it?   
  357.  
  358. The answer is that it cannot do so.  The method to use to  obtain  these 
  359. extraordinary performances is to connect your computer  to  the  modem  at
  360. 19,200 baud and utilize a buffer in the  modem  to  match  up the input with
  361. the output.  Naturally, as the  data  is  arriving at the modem much faster
  362. than it is leaving, there  must  be  a way to stop the input.  Well, you
  363. guessed it, we  use  flow  control just like the networks when they are
  364. getting choked.   In  particular, we sense that the modem's Clear To Send
  365. signal is  on  or  off.   When off, we stop sending data to it and when  on, 
  366. we  instantly start cramming data at it at 19,200 baud.  In this way,  the
  367. modem is able to send data at 1100 cps.  Naturally, the modem  must  be  able 
  368. to  control its CTS  signal  for  this  to  work.   USRobotics HST is capable
  369. of doing so.   
  370.  
  371. I showed you what happened to Zmodem when we tried to transfer to  it  at in
  372. excess of 9600 baud - it failed.  That is not  entirely  the fault of Zmodem,
  373. however.  Unless the receiving system is  of  the AT class of computers you
  374. will probably find that  regardless  of  what  kind of software you are using
  375. with it,  the  modem  is  faster  than the computer's ability to feed it or
  376. eat  from  it!!   Now that is amazing, isn't it?  We now have modems that are
  377. paced  by  the  computer they are attached to instead of the  other  way 
  378. around.  
  379.  
  380. Incidentally,  unless  the receiving computer is connect  to  the  receiving 
  381. modem  at  19,200  instead  of  9600  baud,  and   has  implemented some form
  382. of flow control to signal the sending modem  that  it's  buffer  is full, 1100
  383. cps transmissions  to  it  will  naturally fail when the buffer is overflowed. 
  384.